
from rest_framework import serializers
from django.contrib.auth.models import Group,Permission


class PermSimpleModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = Permission
        fields = [
            'id',
            'name'
        ]


class GroupModelSerializer(serializers.ModelSerializer):

    class Meta:
        model = Group
        fields = [
            'id',
            'name',

            'permissions'
        ]


    # def create(self, validated_data):
    #     # 演示ManyToManyField类型字段，如何实现中间表数据的增删改查
    #     # 注意：ManyToManyField类型字段是一个特殊的ForeignKey，记录和表达的是中间表多条数据
    #     # 前端传来的是[21，22，23，24] -----有效校验----> [<21号权限对象>, <22号权限对象>, <23号权限对象>, <24号权限对象>]
    #     permissions = validated_data.pop('permissions')
    #     # 1、新建分组
    #     group = Group.objects.create(**validated_data)
    #     # 2、新建分组权限中间表数据
    #     group.permissions.set(permissions) # 根据参数指定的多个权限，以"覆盖"的方式插入中间表数据
    #     # group.permissions.add(*permissions) # 插入多个分组权限中间表数据，不会删除已有的数据
    #
    #     return group









